// #include "header.cpp"
#include "mqtt.cpp"
#include "files.cpp"
#include "webServer.cpp"
int count=0;
Files f;
MyMqtt myMqtt;
WebServer webServer;
  // 定时器
Ticker ticker;
bool wifiOk=false;
bool myMqttStart=false;
void wifiCallback(int state){

  Serial.println("wifiCallback ------------------");
  wifiOk=state==0;
}
bool mqttOk=false;
void mqttCallback(int state){

  Serial.println("MQTT Callback ------------------");
  mqttOk=state==0;
}
void setup() {
  // WebServer webServer();
  Serial.begin(115200);
  Serial.println("setup ------------------");
  webServer.setWifiCallback(wifiCallback);
  // myMqtt.setCallback(mqttCallback);
    // Ticker定时对象
  ticker.attach(1, tickerAdd);
  webServer.setup();
  // MyMqtt myMqtt;
 
}

void tickerAdd() {

  myMqtt.tickerAdd();
}
// 状态持续函数，一直重复执行
void loop() {

    if(wifiOk){
      if(!myMqttStart){
        myMqtt.setup();
        myMqttStart=true;
      }
      myMqtt.startloop();
    }else{

      webServer.loop();
    }
}
// 使用
// 服务端向订阅主题发布 消息内容 {"switch": "1"} 1是开灯，否则是关灯